Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru
   
   
   
   
   
   
 
 
  Главная страница
 
 
<-- Назад Читать дальше -->

3.5.1 Операторы условного и безусловного перехода. Оператор If: Then... Else

Проверка условий в VBA, оператор If...Then... Else, вложенные конструкции If

Операторы условного перехода - одни из самых важных и часто используемых элементов в языках программирования. Общий принцип их работы прост: проверяется соответствие каким-то условиям (истинность или ложность каких-либо выражений) и в зависимости от этого выполнение программы направляется по одной или другой ветви. В VBA предусмотрено два оператора условного перехода: If: Then... Else и Select Case.

Оператор If: Then... Else  - самый популярный у программистов. Полный его синтаксис выглядит так:

If Условие Then
Команды1

[ElseIf Условия N Then
Команды N]

[Else
Команды2]

End If

При этом:

  • Условие - выражение, которое проверяется на истинность. Если оно истинно, то выполняются Команды1, если ложно - Команды2;
  • УсловияN - дополнительные условия, которые также можно проверить. В случае, если они выполняются (выражение УсловияN истинно), то выполняются КомандыN.

Оператор If:Then... Else применяется:

  • когда нужно проверить на соответствие одному условию и в случае соответствия сделать какое-то действие:

If nTemperature < 10 Then

MsgBox "Одеть куртку"

End If

  • когда нужно сделать то, же что и в предыдущем примере, а в случае несоответствия выполнить другое действие:

If nTemperature < 10 Then

MsgBox "Одеть куртку"

Else

MsgBox "Одеть ветровку"

End If

  • когда нужно проверить на соответствие нескольким условиям (обратите внимание на использование логических операторов):

If (nTemperature < 10) And (bRain = True) Then

MsgBox "Одеть куртку и взять зонтик"

End If

  • когда в случае, если первая проверка вернула False, нужно проверить на соответствие еще нескольким условиям (в этом случае удобно использовать ElseIf):

If (bIGoInCar = True) Then

MsgBox "Одеться для машины"

ElseIf nTemperature < 10 Then

MsgBox "Одеть куртку"

Else

MsgBox "Можно идти в рубашке"

End If

В этом примере, поскольку bIGoInCar - переменная типа Boolean и сама по себе принимает значения True или False, первая строка может выглядеть так:

If bIGoInCar Then :

Некоторые замечания по использованию If:Then... Else:

  • ключевое слово Then должно находиться в одной строке с If и условием. Если вы перенесете его на следующую строку, будет выдано сообщение об ошибке;
  • если разместить команду, которую нужно выполнить при истинности проверяемого условия, на одной строке с If и Then, то End If можно не писать:

If nTemperature < 10 Then MsgBox "Одеть куртку"

  • если же вы используете несколько команд или конструкции Else/ElseIf, то End If в конце нужно писать обязательно - иначе возникнет синтаксическая ошибка.
  • для выражения If:Then настоятельно рекомендуется использовать отступы для выделения блоков команд. Иначе читать код будет трудно.
  • операторы If:Then можно вкладывать друг в друга:

If MyVar = 5 Then

MsgBox 'MyVar = 5'

If MyVar = 10 Then

MsgBox 'MyVar = 10'

End If

End If

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить этот учебник в формате PDF (Acrobat Reader) или DOC (Microsoft Word)

 
© 2004-2005, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru